HADOOP HA机制

第一节:HADOOP HA概述

1.1 背景

​ 在Hadoop 2.0.0之前,NameNode是HDFS集群中的单点故障(SPOF)。每个群集都有一个NameNode,如果该机器或进程不可用,整个群集将不可用,直到NameNode重新启动或在单独的计算机上启动为止。这在两个主要方面影响了HDFS集群的总体可用性:

HDFS高可用性功能通过提供在具有热备用的主动/被动配置中的同一群集中运行两个(以及3.0.0多于两个)冗余NameNode的选项来解决上述问题。这允许在计算机崩溃的情况下快速故障转移到新的NameNode,或者为计划维护目的而进行正常的管理员启动的故障转移。

1.2 HA(High Available)概念

第二节 HA集群配置

2.1 基础配置
  vim/etc/profile    #将java添加到环境变量中在文件最后添加
      exportJAVA_HOME=/home/hadoop/app/jdk1.7.0_65
      exportPATH=PATH:JAVA_HOME/bin

  #刷新配置
  source/etc/profile
  ```
2.2 hadoop配置
  2.hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.4.1解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调
2.3 HA 启动及测试

注意:严格按照下面的步骤进行启动

  1. 启动zookeeper集群(分别在ha5、ha6、ha7上启动zk)

     
  2. 启动journalnode(分别在在ha5、ha6、ha7上执行)

     
  3. 格式化HDFS

     
  4. 格式化ZKFC(在ha1上执行即可)

     
  5. 启动HDFS(在ha1上执行)

     
  6. 启动YARN在ha3上执行(#####注意#####:是在ha3上执行start-yarn.sh,把namenode和resourcemanager分开是因为性能问题,因为他们都要占用大量资源,所以把他们分开了,他们分开了就要分别在不同的机器上启动)

     

    到此,hadoop-2.4.1配置完毕,可以统计浏览器访问:http://192.168.18.171:50070>

    ​ NameNode'ha1:9000' (active)

    http://192.168.18.172:50070

    ​ NameNode'ha2:9000' (standby)

    http://192.168.18.173:8088/ 查看yarn集群信息类似

  7. 验证HDFSHA

     
  8. 上述启动HA的步骤是第一次时需要执行的步骤,非第一次的启动的步骤:

    • 启动zookeeper集群(分别在ha5、ha6、ha7上启动zk)

    • 启动HDFS(在ha1上执行)

       
    • 启动YARN在ha3上执行;ha4上的resourceManager需要手动启动

       

  9. 测试集群工作状态的一些指令: